package org.ak47.spring.boot.grpc.autoconfigure;


import io.grpc.ClientInterceptor;
import io.grpc.ManagedChannel;

import java.util.List;


/**
 * <p> GrpcChannelFactory </p>
 *
 * @author hexiaohong
 */
public interface GrpcChannelFactory
{
    /**
     * 使用名称创建
     *
     * @param name
     *            名称
     * @return ManagedChannel
     */
    ManagedChannel createChannel(String name);

    /**
     * 使用名称、拦截器创建
     *
     * @param name
     *            名称
     * @param interceptors
     *            拦截器
     * @return ManagedChannel
     */
    ManagedChannel createChannel(String name, List<ClientInterceptor> interceptors);
}
